home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / mozilla-firefox / idl / nsIPluginManager2.idl < prev    next >
Text File  |  2006-05-08  |  6KB  |  151 lines

  1. /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
  2. /* ***** BEGIN LICENSE BLOCK *****
  3.  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
  4.  *
  5.  * The contents of this file are subject to the Mozilla Public License Version
  6.  * 1.1 (the "License"); you may not use this file except in compliance with
  7.  * the License. You may obtain a copy of the License at
  8.  * http://www.mozilla.org/MPL/
  9.  *
  10.  * Software distributed under the License is distributed on an "AS IS" basis,
  11.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  12.  * for the specific language governing rights and limitations under the
  13.  * License.
  14.  *
  15.  * The Original Code is mozilla.org code.
  16.  *
  17.  * The Initial Developer of the Original Code is
  18.  * Netscape Communications Corporation.
  19.  * Portions created by the Initial Developer are Copyright (C) 1998
  20.  * the Initial Developer. All Rights Reserved.
  21.  *
  22.  * Contributor(s):
  23.  *
  24.  * Alternatively, the contents of this file may be used under the terms of
  25.  * either the GNU General Public License Version 2 or later (the "GPL"), or
  26.  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  27.  * in which case the provisions of the GPL or the LGPL are applicable instead
  28.  * of those above. If you wish to allow use of your version of this file only
  29.  * under the terms of either the GPL or the LGPL, and not to allow others to
  30.  * use your version of this file under the terms of the MPL, indicate your
  31.  * decision by deleting the provisions above and replace them with the notice
  32.  * and other provisions required by the GPL or the LGPL. If you do not delete
  33.  * the provisions above, a recipient may use your version of this file under
  34.  * the terms of any one of the MPL, the GPL or the LGPL.
  35.  *
  36.  * ***** END LICENSE BLOCK ***** */
  37.  
  38. #include "nsIPluginManager.idl"
  39.  
  40. interface nsIPlugin;
  41. interface nsIEventHandler;
  42.  
  43. native nsPluginPlatformWindowRef(nsPluginPlatformWindowRef);
  44.  
  45. /**
  46.  * Plugin Manager 2 Interface
  47.  * These extensions to nsIPluginManager are only available in Communicator 5.0.
  48.  */
  49. [uuid(d2962dc0-4eb6-11d2-8164-006008119d7a)]
  50. interface nsIPluginManager2 : nsIPluginManager
  51. {
  52.   /**
  53.    * Puts up a wait cursor.
  54.    *
  55.    * @result - NS_OK if this operation was successful
  56.    */
  57.   void beginWaitCursor();
  58.  
  59.   /**
  60.    * Restores the previous (non-wait) cursor.
  61.    *
  62.    * @result - NS_OK if this operation was successful
  63.    */
  64.   void endWaitCursor();
  65.  
  66.   /**
  67.    * Returns true if a URL protocol (e.g. "http") is supported.
  68.    *
  69.    * @param aProtocol - the protocol name
  70.    * @param aResult   - true if the protocol is supported
  71.    * @result          - NS_OK if this operation was successful
  72.    */
  73.   void supportsURLProtocol(in string aProtocol, out boolean aResult);
  74.  
  75.   /**
  76.    * This method may be called by the plugin to indicate that an error 
  77.    * has occurred, e.g. that the plugin has failed or is shutting down 
  78.    * spontaneously. This allows the browser to clean up any plugin-specific 
  79.    * state.
  80.    *
  81.    * @param aPlugin - the plugin whose status is changing
  82.    * @param aStatus - the error status value
  83.    * @result        - NS_OK if this operation was successful
  84.    */
  85.   void notifyStatusChange(in nsIPlugin aPlugin, in nsresult aStatus);
  86.   
  87.   /**
  88.    * Returns the proxy info for a given URL. The caller is required to
  89.    * free the resulting memory with nsIMalloc::Free. The result will be in the
  90.    * following format
  91.    * 
  92.    *   i)   "DIRECT"  -- no proxy
  93.    *   ii)  "PROXY xxx.xxx.xxx.xxx"   -- use proxy
  94.    *   iii) "SOCKS xxx.xxx.xxx.xxx"  -- use SOCKS
  95.    *   iv)  Mixed. e.g. "PROXY 111.111.111.111;PROXY 112.112.112.112",
  96.    *                    "PROXY 111.111.111.111;SOCKS 112.112.112.112"....
  97.    *
  98.    * Which proxy/SOCKS to use is determined by the plugin.
  99.    */
  100.    void findProxyForURL(in string aURL, out string aResult);
  101.  
  102.   /**
  103.    * Registers a top-level window with the browser. Events received by that
  104.    * window will be dispatched to the event handler specified.
  105.    * 
  106.    * @param aHandler - the event handler for the window
  107.    * @param aWindow  - the platform window reference
  108.    * @result         - NS_OK if this operation was successful
  109.    */
  110.   void registerWindow(in nsIEventHandler aHandler, in nsPluginPlatformWindowRef aWindow);
  111.   
  112.   /**
  113.    * Unregisters a top-level window with the browser. The handler and window pair
  114.    * should be the same as that specified to RegisterWindow.
  115.    *
  116.    * @param aHandler - the event handler for the window
  117.    * @param aWindow  - the platform window reference
  118.    * @result         - NS_OK if this operation was successful
  119.    */
  120.   void unregisterWindow(in nsIEventHandler aHandler, in nsPluginPlatformWindowRef aWindow);
  121.  
  122.   /**
  123.    * Allocates a new menu ID (for the Mac).
  124.    *
  125.    * @param aHandler   - the event handler for the window
  126.    * @param aIsSubmenu - whether this is a sub-menu ID or not
  127.    * @param aResult    - the resulting menu ID
  128.    * @result           - NS_OK if this operation was successful
  129.    */
  130.   void allocateMenuID(in nsIEventHandler aHandler, in boolean aIsSubmenu, out short aResult);
  131.  
  132.   /**
  133.    * Deallocates a menu ID (for the Mac).
  134.    *
  135.    * @param aHandler - the event handler for the window
  136.    * @param aMenuID  - the menu ID
  137.    * @result         - NS_OK if this operation was successful
  138.    */
  139.   void deallocateMenuID(in nsIEventHandler aHandler, in short aMenuID);
  140.  
  141.   /**
  142.    * Indicates whether this event handler has allocated the given menu ID.
  143.    *
  144.    * @param aHandler - the event handler for the window
  145.    * @param aMenuID  - the menu ID
  146.    * @param aResult  - returns PR_TRUE if the menu ID is allocated
  147.    * @result         - NS_OK if this operation was successful
  148.    */
  149.   void hasAllocatedMenuID(in nsIEventHandler aHandler, in short aMenuID, out boolean aResult);
  150. };
  151.